<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>p2_CSS选择器</title>
    <style>
        /*1.标签名选择器*/
        h4{
            color: red;
        }
        /*2.id选择器:选中指定id值的唯一一个元素*/
        #d1{
            width: 100px;
            height: 100px;
            color: cyan;
        }
        /*3.类选择器:选中使用此类名的所有元素*/
        .error{
            background-color: red;
        }
        .success{
            background-color: green;
        }
        .msg{
            color: white;
        }
        /*4.并列选择器:紧挨在一起的写法,必须同时满足两个选择器的条件才能生效,是""与的关系*/
        /*5. :hover伪类选择器的一种,是用来选中元素的悬停状态*/
        #d1:hover{
            background-color: pink;
        }
        /*6.伪类选择器::link超链接未被访问过的状态 :visited超链接已被访问过的状态
         :hover鼠标悬停状态(非超链接独有) :active鼠标按下状态*/
        a:link{
            color: gray;
        }
        a:visited{
            color: green;
        }
        a:hover{
            color: orange;
        }
        a:active{
            color: red;
        }
        /*7.群组选择器:将多个选择器用逗号隔开,只要有一个满足条件就生效,是"或"的关系*/
        #d1,p,.error{
            /*边框:粗细 单实线 颜色*/
            border: 5px solid purple;
        }
        /*8.通配选择器:全选所有元素*/
        *{
            font-style: italic;
        }
        /*9.属性选择器([type="text"]):选中符合属性条件的元素*/
        /*注意:input[type="text"]是并列选择器*/
        input[type="test"]{
            background-color: yellow;
        }
        /*10.后代选择器(空格):选中包含在祖先选择器之内的所有后代(儿子,孙子,重孙子...)*/
        #d2 span{
            background-color: lightblue;
        }
        /*11.直接子代选择器(大于号):选中当前元素的直接子元素,不会继续向下选择,可以多层递进写*/
        #d2>div>p>span{
            color: green;
        }
    </style>
</head>
<body>
<div>我是div</div>
<p>我是段落</p>
<h4 id="d1">我是标题</h4>
<h4>我是标题2</h4>
<hr>
<span class="error msg">用户名不能为空!</span>
<span class="error msg">密码不能为空!</span>
<span class="success msg">手机格式正确!</span>
<span class="success msg">邮箱格式正确!</span>
<hr>
<a href="https://www.baidu.com">超链接1</a>
<a href="abc">超链接2</a>
<hr>
<input type="test">
<input type="password">
<hr>
<div id="d2">
    <span>111</span>
    <div>
        <span>222</span>
        <p>测试文字</p>
        <p>我是<span>测试</span>段落</p>
    </div>
    <span>333</span>
</div>
</body>
</html>